﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleTest.ChapterTen
{
    
    class RefTest
    {
        public int Number = 0;

        //使用ref 关键字相当于C++中的双指针
        //按照引用类型ref 传递引用类型参数允许主调方法直接操作引用，即被调用的方法能够修改
        //主调方法的的引用所引用的对象。
        public static void fct(ref RefTest RefA, RefTest RefB)
        {
            if (RefA == null)
                RefA = new RefTest();
            if (RefB == null)
                RefB = new RefTest();
        }
    }

    //TypeVal 是值类型，因为它是一个结构体
    struct TypeVal
    {
        public int _i;
        public TypeVal(int i) { _i = i; }
    }
    //TypeRef 引用类型
    class TypeRef
    {
        public int _i;
        public TypeRef(int i) { _i = i; }
    }
}
